package io.framework.modules.sys.dto;

import io.framework.common.validator.group.AddGroup;
import io.framework.common.validator.group.DefaultGroup;
import io.framework.common.validator.group.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import java.io.Serializable;
import java.util.Date;

/**
 * 法律法规
 *
 *
 * @since 1.0.0
 */
@Data
@ApiModel(value = "法律法规")
public class StatuteDTO implements Serializable {
    private static final long serialVersionUID = 1L;

	@ApiModelProperty(value = "id")
	@Null(message="{id.null}", groups = AddGroup.class)
	@NotNull(message="{id.require}", groups = UpdateGroup.class)
	private Long id;

	@ApiModelProperty(value = "标题")
	@NotNull(message="{statute.bt.require}", groups = DefaultGroup.class)
	private String bt;

	@ApiModelProperty(value = "发布部门")
	@NotNull(message="{statute.fbbm.require}", groups = DefaultGroup.class)
	private String fbbm;

	@ApiModelProperty(value = "类别", required = true)
	@NotBlank(message="{statute.lb.require}", groups = DefaultGroup.class)
	private String lb;

	@ApiModelProperty(value = "发布时间", required = true)
	@NotBlank(message="{statute.fbsj.require}", groups = DefaultGroup.class)
	private Date fbsj;

	@ApiModelProperty(value = "实施时间", required = true)
	@NotBlank(message="{statute.sssj.require}", groups = DefaultGroup.class)
	private Date sssj;

	@ApiModelProperty(value = "发文字号", required = true)
	@NotBlank(message="{statute.fwzh.require}", groups = DefaultGroup.class)
	private String fwzh;

	@ApiModelProperty(value = "时效性", required = true)
	@NotBlank(message="{statute.sxx.require}", groups = DefaultGroup.class)
	private String sxx;

	@ApiModelProperty(value = "内容", required = true)
	@NotBlank(message="{statute.nr.require}", groups = DefaultGroup.class)
	private String nr;

}